package util;

import java.util.Vector;

import midlets.SCGP;
import excecoes.DadosGastoInvalidosException;


public class Util {

	
	
	public static void temCaractereEspecial(String valor)
			throws DadosGastoInvalidosException {
		
		char[] caracteres = new char[valor.length()];
		caracteres = valor.toCharArray();

		for (int i = 0; i < caracteres.length; i++) {
		
			if (caracteres[i] == Constantes.SEPARADOR_ENTIDADES
					|| caracteres[i] == Constantes.SEPARADOR_REGISTROS
					|| caracteres[i] == Constantes.SEPARADOR_VARIAVEIS){
				SCGP.messageErro = Constantes.ERRO_CARACTERES_ESPECIAIS;
				throw new DadosGastoInvalidosException();
			}
		}
		
	}
	
	
	public static Vector desformataDadosEtidade(String dadosFormatados)
			throws Exception {

		Vector colecaoDados = new Vector();

		char[] caracteres = new char[dadosFormatados.length()];
		caracteres = dadosFormatados.toCharArray();
		StringBuffer valor = new StringBuffer();

		for (int i = 0; i < caracteres.length; i++) {
			if (caracteres[i] != Constantes.SEPARADOR_REGISTROS)
				valor.append(caracteres[i]);
			else if (caracteres[i] == Constantes.SEPARADOR_REGISTROS) {
				colecaoDados.addElement(valor.toString());
				valor = new StringBuffer();
			}
			if (i == caracteres.length - 1)
				colecaoDados.addElement(valor.toString());
		}

		return colecaoDados;
	}

	
	public static Vector desformataDados(String dadosFormatados) throws Exception {

		Vector enitdades = new Vector();

		char[] caracteres = new char[dadosFormatados.length()];
		caracteres = dadosFormatados.toCharArray();
		StringBuffer valor = new StringBuffer();

		for (int i = 0; i < caracteres.length; i++) {
			if (caracteres[i] != Constantes.SEPARADOR_ENTIDADES)
				valor.append(caracteres[i]);
			else if (caracteres[i] == Constantes.SEPARADOR_ENTIDADES) {
				enitdades.addElement(valor.toString());
				valor = new StringBuffer();
			}
			if (i == caracteres.length - 1)
				enitdades.addElement(valor.toString());
		}

		return enitdades;
	}
	
}
